package com.cxx.home.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cxx.home.dto.travel.TravelRecordDto;
import com.cxx.home.dto.travel.TravelSpotDto;
import com.cxx.home.dto.travel.TravelStatsDto;
import com.cxx.home.dto.travel.TravelSummaryDto;
import com.cxx.home.vo.TravelQueryVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface TravelDao {
    TravelSpotDto queryTravelSpot(@Param("id") Long id);

    IPage<TravelSummaryDto> queryTravelSummary(IPage<TravelSummaryDto> page,
                                               @Param("query") TravelQueryVo travelQueryVo);

    List<TravelRecordDto> queryTravelRecordById(@Param("id") Long id);

    List<TravelRecordDto> queryTravelRecord(@Param("startDate") String startDate,
                                            @Param("endDate") String endDate);

    TravelStatsDto queryTravelStats();

    List<String> queryTravelCategory();

    void insertTravelImage(@Param("recordId") Long recordId,
                           @Param("list") List<String> imageFiles);

    void insertTravelVideo(@Param("recordId") Long recordId,
                           @Param("list") List<String> videoFiles);
}
